#pragma once
#include <string>
#include <memory>

#include "Scene/Scene.h"

namespace wallpaper
{

class WPUserProperties;
namespace fs
{
class VFS;
}
namespace audio
{
class SoundManager;
}
class ISceneParser {
public:
    ISceneParser()                                                          = default;
    virtual ~ISceneParser()                                                 = default;
    virtual std::shared_ptr<Scene> Parse(std::string_view scene_id, const std::string&, fs::VFS&,
                                         audio::SoundManager&,
                                         const WPUserProperties& userProps) = 0;
};
} // namespace wallpaper
